Nested Parallelism in the OMPi OpenMP/C Compiler
نویسندگان
چکیده
This paper presents a new version of the OMPi OpenMP C compiler, enhanced by lightweight runtime support based on user-level multithreading. A large number of threads can be spawned for a parallel region and multiple levels of parallelism are supported efficiently, without introducing additional overheads to the OpenMP library. Management of nested parallelism is based on an adaptive distribution scheme with hierarchical work stealing that not only favors computation and data locality but also maps directly to recent architectural developments in shared memory multiprocessors. A comparative performance evaluation of several OpenMP implementations demonstrates the efficiency of our approach.
منابع مشابه
The OMPi OpenMP/C Compiler
We have designed and implemented OMPi, a portable compiler for OpenMP/C. This paper presents an overview of our compiler and its supporting libraries. OMPi is a C-to-C translator that takes C code with OpenMP directives and produces equivalent multithreaded C code ready for execution on a multiprocessor. Our compiler is the only publicly available one that adheres to version 2.0 of the standard...
متن کاملA portable C compiler for OpenMP V.2.0
This paper presents an overview of OMPi, a portable implementation of the OpenMP API for C, adhering to the recently released version 2.0 of the standard. OMPi is a C-to-C translator which takes C code with OpenMP directives and produces equivalent C code which uses POSIX threads, similarly to other publicly available implementations. However, in contrast to the latter, OMPi is written entirely...
متن کاملOpenMP 4.0 Device Support in the OMPi Compiler
OpenMP 4.0 represents a major upgrade in the language specifications of the standard. Important constructs for the exploitation of SIMD parallelism, the support for dependencies among tasks and the ability to cancel the operations of a team of threads have been added. What is arguably the most important addition, however, is the introduction of the device model. A variety of computational units...
متن کاملPortable Support and Exploitation of Nested Parallelism in OpenMP
In this paper, we present an alternative implementation of the NANOS OpenMP runtime library (NthLib) that targets portability and efficient support of multiple levels of parallelism. We have implemented the runtime libraries of available opensource OpenMP compilers on top of NthLib, reducing thus their overheads and providing them with inherent support for nested parallelism. In addition, we pr...
متن کاملNanosCompiler: supporting flexible multilevel parallelism exploitation in OpenMP
This paper describes the support provided by the NanosCompiler to nested parallelism in OpenMP. The NanosCompiler is a source-to-source parallelizing compiler implemented around a hierarchical internal program representation that captures the parallelism expressed by the user (through OpenMP directives and extensions) and the parallelism automatically discovered by the compiler through a detail...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007